{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "65c94eef",
   "metadata": {},
   "source": [
    "-------\n",
    "* 2022/9/26 / week06\n",
    "* Python学习记录\n",
    "* 记录人：许丹\n",
    "-------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "85b996bd",
   "metadata": {},
   "source": [
    "# 本周知识点\n",
    "\n",
    "> 1. 随机函数\n",
    "\n",
    "\n",
    "> 2. 时间函数"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "574eceae",
   "metadata": {},
   "source": [
    "## 1. 随机函数\n",
    "\n",
    "> 1. random.random()：生成随机数,0-1之间随机数\n",
    "> 2. random.randint()：生成随机数\n",
    "> 3. random.choices()：随机抽样"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "03eacbfe",
   "metadata": {},
   "outputs": [],
   "source": [
    "import random"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "c0d339c6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function random:\n",
      "\n",
      "random() method of random.Random instance\n",
      "    random() -> x in the interval [0, 1).\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(random.random) # 0-1 float 小数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "49fa571d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.19798914063264705"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "random.random()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "0e3ada1e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on method randint in module random:\n",
      "\n",
      "randint(a, b) method of random.Random instance\n",
      "    Return random integer in range [a, b], including both end points.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(random.randint) # 整数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "b0896aed",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "random.randint(0,6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "e1b10472",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1\n",
      "6\n",
      "5\n",
      "1\n",
      "4\n"
     ]
    }
   ],
   "source": [
    "# randint小实践：大话骰\n",
    "for i in range(5):\n",
    "    print(random.randint(1,6))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d5bff4ac",
   "metadata": {},
   "outputs": [],
   "source": [
    "# randint小实践：猜数字，0-100 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "7f83a697",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Alex'"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# random.choice(),在数据组（列表）随机选择一个值\n",
    "random.choice([\"Alex\",\"Xiaohong\",\"Lihua\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "f3c06691",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "80\n",
      "40\n",
      "77\n",
      "39\n",
      "25\n",
      "47\n"
     ]
    }
   ],
   "source": [
    "# 通过随机值，大概去判断一下彩票的中间概率 \n",
    "# [12,34,65,10,22,12]\n",
    "for i in range(6):\n",
    "    print(random.randint(0,99))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0a9d5d8c",
   "metadata": {},
   "source": [
    "## 2.时间函数 time()\n",
    "* 时间延迟函数 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "b910521c",
   "metadata": {},
   "outputs": [],
   "source": [
    "import time "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "c304c6ee",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "time.struct_time(tm_year=2022, tm_mon=9, tm_mday=26, tm_hour=10, tm_min=26, tm_sec=48, tm_wday=0, tm_yday=269, tm_isdst=0)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "time.localtime()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "1d0989d1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function sleep in module time:\n",
      "\n",
      "sleep(...)\n",
      "    sleep(seconds)\n",
      "    \n",
      "    Delay execution for a given number of seconds.  The argument may be\n",
      "    a floating point number for subsecond precision.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(time.sleep)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "9650a7d3",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "hello world\n"
     ]
    }
   ],
   "source": [
    "time.sleep(2)\n",
    "print(\"hello world\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "cf00c71d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "数据获取...\n",
      "页面停留 8 秒\n",
      "继续下一页..\n",
      "数据获取...\n",
      "页面停留 12 秒\n",
      "继续下一页..\n",
      "数据获取...\n",
      "页面停留 14 秒\n",
      "继续下一页..\n",
      "数据获取...\n",
      "页面停留 10 秒\n",
      "继续下一页..\n",
      "数据获取...\n",
      "页面停留 9 秒\n",
      "继续下一页..\n"
     ]
    }
   ],
   "source": [
    "# 实践：浏览抓取网页数据，模拟人的行为，让机器慢下来，每执行一次休息3秒钟。\n",
    "#      进阶： 随机产生一个数（3，50），让程序停留随机的秒数\n",
    "for i in range(5):\n",
    "    print(\"数据获取...\")\n",
    "    wait_time = random.randint(3,20)\n",
    "    print(\"页面停留\",wait_time,\"秒\")\n",
    "    time.sleep(wait_time)\n",
    "    print(\"继续下一页..\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ef4e3857",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 练习，课本P33页  涉及知识点：模块，变量，条件判断，time模块，for循环\n",
    "\n",
    "# 练习，课本P44页  涉及知识点：模块，变量，条件判断，time模块，random模块，for循环"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "09c70066",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "当前是奇数秒 25\n",
      "等待时间(随机)： 4\n",
      "------------\n",
      "当前是奇数秒 29\n",
      "等待时间(随机)： 2\n",
      "------------\n",
      "当前是奇数秒 31\n",
      "等待时间(随机)： 1\n",
      "------------\n",
      "当前是偶数秒 32\n",
      "等待时间(随机)： 5\n",
      "------------\n",
      "当前是奇数秒 37\n",
      "等待时间(随机)： 5\n",
      "------------\n"
     ]
    }
   ],
   "source": [
    "# 练习，课本P33页  涉及知识点：模块，变量，条件判断，time模块，for循环\n",
    "# from datetime import datetime\n",
    "import datetime\n",
    "import time,random\n",
    "\n",
    "odds = [  1, 3,  5,  7,  9, 11,13,15,17,19,\n",
    "             21,23,25,27,29,31,33,35,37,39,\n",
    "             41,43,45,47,49,51,53,55,57,59]\n",
    "\n",
    "for i in range(5):  \n",
    "    right_this_seconds = datetime.datetime.today().second\n",
    "    if right_this_seconds in odds:\n",
    "        print(\"当前是奇数秒\",right_this_seconds)\n",
    "    else:\n",
    "        print(\"当前是偶数秒\",right_this_seconds)\n",
    "    wait_time = random.randint(1,5)\n",
    "    print(\"等待时间(随机)：\",wait_time)\n",
    "    time.sleep(wait_time)\n",
    "    print(\"------------\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "1ee272ec",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "99 bottles 在啤酒墙上~~\n",
      "99 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "98 bottles 在啤酒墙上~~\n",
      "----------\n",
      "98 bottles 在啤酒墙上~~\n",
      "98 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "97 bottles 在啤酒墙上~~\n",
      "----------\n",
      "97 bottles 在啤酒墙上~~\n",
      "97 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "96 bottles 在啤酒墙上~~\n",
      "----------\n",
      "96 bottles 在啤酒墙上~~\n",
      "96 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "95 bottles 在啤酒墙上~~\n",
      "----------\n",
      "95 bottles 在啤酒墙上~~\n",
      "95 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "94 bottles 在啤酒墙上~~\n",
      "----------\n",
      "94 bottles 在啤酒墙上~~\n",
      "94 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "93 bottles 在啤酒墙上~~\n",
      "----------\n",
      "93 bottles 在啤酒墙上~~\n",
      "93 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "92 bottles 在啤酒墙上~~\n",
      "----------\n",
      "92 bottles 在啤酒墙上~~\n",
      "92 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "91 bottles 在啤酒墙上~~\n",
      "----------\n",
      "91 bottles 在啤酒墙上~~\n",
      "91 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "90 bottles 在啤酒墙上~~\n",
      "----------\n",
      "90 bottles 在啤酒墙上~~\n",
      "90 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "89 bottles 在啤酒墙上~~\n",
      "----------\n",
      "89 bottles 在啤酒墙上~~\n",
      "89 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "88 bottles 在啤酒墙上~~\n",
      "----------\n",
      "88 bottles 在啤酒墙上~~\n",
      "88 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "87 bottles 在啤酒墙上~~\n",
      "----------\n",
      "87 bottles 在啤酒墙上~~\n",
      "87 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "86 bottles 在啤酒墙上~~\n",
      "----------\n",
      "86 bottles 在啤酒墙上~~\n",
      "86 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "85 bottles 在啤酒墙上~~\n",
      "----------\n",
      "85 bottles 在啤酒墙上~~\n",
      "85 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "84 bottles 在啤酒墙上~~\n",
      "----------\n",
      "84 bottles 在啤酒墙上~~\n",
      "84 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "83 bottles 在啤酒墙上~~\n",
      "----------\n",
      "83 bottles 在啤酒墙上~~\n",
      "83 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "82 bottles 在啤酒墙上~~\n",
      "----------\n",
      "82 bottles 在啤酒墙上~~\n",
      "82 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "81 bottles 在啤酒墙上~~\n",
      "----------\n",
      "81 bottles 在啤酒墙上~~\n",
      "81 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "80 bottles 在啤酒墙上~~\n",
      "----------\n",
      "80 bottles 在啤酒墙上~~\n",
      "80 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "79 bottles 在啤酒墙上~~\n",
      "----------\n",
      "79 bottles 在啤酒墙上~~\n",
      "79 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "78 bottles 在啤酒墙上~~\n",
      "----------\n",
      "78 bottles 在啤酒墙上~~\n",
      "78 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "77 bottles 在啤酒墙上~~\n",
      "----------\n",
      "77 bottles 在啤酒墙上~~\n",
      "77 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "76 bottles 在啤酒墙上~~\n",
      "----------\n",
      "76 bottles 在啤酒墙上~~\n",
      "76 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "75 bottles 在啤酒墙上~~\n",
      "----------\n",
      "75 bottles 在啤酒墙上~~\n",
      "75 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "74 bottles 在啤酒墙上~~\n",
      "----------\n",
      "74 bottles 在啤酒墙上~~\n",
      "74 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "73 bottles 在啤酒墙上~~\n",
      "----------\n",
      "73 bottles 在啤酒墙上~~\n",
      "73 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "72 bottles 在啤酒墙上~~\n",
      "----------\n",
      "72 bottles 在啤酒墙上~~\n",
      "72 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "71 bottles 在啤酒墙上~~\n",
      "----------\n",
      "71 bottles 在啤酒墙上~~\n",
      "71 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "70 bottles 在啤酒墙上~~\n",
      "----------\n",
      "70 bottles 在啤酒墙上~~\n",
      "70 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "69 bottles 在啤酒墙上~~\n",
      "----------\n",
      "69 bottles 在啤酒墙上~~\n",
      "69 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "68 bottles 在啤酒墙上~~\n",
      "----------\n",
      "68 bottles 在啤酒墙上~~\n",
      "68 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "67 bottles 在啤酒墙上~~\n",
      "----------\n",
      "67 bottles 在啤酒墙上~~\n",
      "67 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "66 bottles 在啤酒墙上~~\n",
      "----------\n",
      "66 bottles 在啤酒墙上~~\n",
      "66 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "65 bottles 在啤酒墙上~~\n",
      "----------\n",
      "65 bottles 在啤酒墙上~~\n",
      "65 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "64 bottles 在啤酒墙上~~\n",
      "----------\n",
      "64 bottles 在啤酒墙上~~\n",
      "64 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "63 bottles 在啤酒墙上~~\n",
      "----------\n",
      "63 bottles 在啤酒墙上~~\n",
      "63 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "62 bottles 在啤酒墙上~~\n",
      "----------\n",
      "62 bottles 在啤酒墙上~~\n",
      "62 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "61 bottles 在啤酒墙上~~\n",
      "----------\n",
      "61 bottles 在啤酒墙上~~\n",
      "61 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "60 bottles 在啤酒墙上~~\n",
      "----------\n",
      "60 bottles 在啤酒墙上~~\n",
      "60 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "59 bottles 在啤酒墙上~~\n",
      "----------\n",
      "59 bottles 在啤酒墙上~~\n",
      "59 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "58 bottles 在啤酒墙上~~\n",
      "----------\n",
      "58 bottles 在啤酒墙上~~\n",
      "58 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "57 bottles 在啤酒墙上~~\n",
      "----------\n",
      "57 bottles 在啤酒墙上~~\n",
      "57 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "56 bottles 在啤酒墙上~~\n",
      "----------\n",
      "56 bottles 在啤酒墙上~~\n",
      "56 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "55 bottles 在啤酒墙上~~\n",
      "----------\n",
      "55 bottles 在啤酒墙上~~\n",
      "55 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "54 bottles 在啤酒墙上~~\n",
      "----------\n",
      "54 bottles 在啤酒墙上~~\n",
      "54 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "53 bottles 在啤酒墙上~~\n",
      "----------\n",
      "53 bottles 在啤酒墙上~~\n",
      "53 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "52 bottles 在啤酒墙上~~\n",
      "----------\n",
      "52 bottles 在啤酒墙上~~\n",
      "52 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "51 bottles 在啤酒墙上~~\n",
      "----------\n",
      "51 bottles 在啤酒墙上~~\n",
      "51 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "50 bottles 在啤酒墙上~~\n",
      "----------\n",
      "50 bottles 在啤酒墙上~~\n",
      "50 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "49 bottles 在啤酒墙上~~\n",
      "----------\n",
      "49 bottles 在啤酒墙上~~\n",
      "49 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "48 bottles 在啤酒墙上~~\n",
      "----------\n",
      "48 bottles 在啤酒墙上~~\n",
      "48 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "47 bottles 在啤酒墙上~~\n",
      "----------\n",
      "47 bottles 在啤酒墙上~~\n",
      "47 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "46 bottles 在啤酒墙上~~\n",
      "----------\n",
      "46 bottles 在啤酒墙上~~\n",
      "46 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "45 bottles 在啤酒墙上~~\n",
      "----------\n",
      "45 bottles 在啤酒墙上~~\n",
      "45 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "44 bottles 在啤酒墙上~~\n",
      "----------\n",
      "44 bottles 在啤酒墙上~~\n",
      "44 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "43 bottles 在啤酒墙上~~\n",
      "----------\n",
      "43 bottles 在啤酒墙上~~\n",
      "43 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "42 bottles 在啤酒墙上~~\n",
      "----------\n",
      "42 bottles 在啤酒墙上~~\n",
      "42 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "41 bottles 在啤酒墙上~~\n",
      "----------\n",
      "41 bottles 在啤酒墙上~~\n",
      "41 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "40 bottles 在啤酒墙上~~\n",
      "----------\n",
      "40 bottles 在啤酒墙上~~\n",
      "40 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "39 bottles 在啤酒墙上~~\n",
      "----------\n",
      "39 bottles 在啤酒墙上~~\n",
      "39 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "38 bottles 在啤酒墙上~~\n",
      "----------\n",
      "38 bottles 在啤酒墙上~~\n",
      "38 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "37 bottles 在啤酒墙上~~\n",
      "----------\n",
      "37 bottles 在啤酒墙上~~\n",
      "37 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "36 bottles 在啤酒墙上~~\n",
      "----------\n",
      "36 bottles 在啤酒墙上~~\n",
      "36 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "35 bottles 在啤酒墙上~~\n",
      "----------\n",
      "35 bottles 在啤酒墙上~~\n",
      "35 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "34 bottles 在啤酒墙上~~\n",
      "----------\n",
      "34 bottles 在啤酒墙上~~\n",
      "34 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "33 bottles 在啤酒墙上~~\n",
      "----------\n",
      "33 bottles 在啤酒墙上~~\n",
      "33 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "32 bottles 在啤酒墙上~~\n",
      "----------\n",
      "32 bottles 在啤酒墙上~~\n",
      "32 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "31 bottles 在啤酒墙上~~\n",
      "----------\n",
      "31 bottles 在啤酒墙上~~\n",
      "31 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "30 bottles 在啤酒墙上~~\n",
      "----------\n",
      "30 bottles 在啤酒墙上~~\n",
      "30 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "29 bottles 在啤酒墙上~~\n",
      "----------\n",
      "29 bottles 在啤酒墙上~~\n",
      "29 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "28 bottles 在啤酒墙上~~\n",
      "----------\n",
      "28 bottles 在啤酒墙上~~\n",
      "28 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "27 bottles 在啤酒墙上~~\n",
      "----------\n",
      "27 bottles 在啤酒墙上~~\n",
      "27 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "26 bottles 在啤酒墙上~~\n",
      "----------\n",
      "26 bottles 在啤酒墙上~~\n",
      "26 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "25 bottles 在啤酒墙上~~\n",
      "----------\n",
      "25 bottles 在啤酒墙上~~\n",
      "25 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "24 bottles 在啤酒墙上~~\n",
      "----------\n",
      "24 bottles 在啤酒墙上~~\n",
      "24 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "23 bottles 在啤酒墙上~~\n",
      "----------\n",
      "23 bottles 在啤酒墙上~~\n",
      "23 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "22 bottles 在啤酒墙上~~\n",
      "----------\n",
      "22 bottles 在啤酒墙上~~\n",
      "22 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "21 bottles 在啤酒墙上~~\n",
      "----------\n",
      "21 bottles 在啤酒墙上~~\n",
      "21 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "20 bottles 在啤酒墙上~~\n",
      "----------\n",
      "20 bottles 在啤酒墙上~~\n",
      "20 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "19 bottles 在啤酒墙上~~\n",
      "----------\n",
      "19 bottles 在啤酒墙上~~\n",
      "19 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "18 bottles 在啤酒墙上~~\n",
      "----------\n",
      "18 bottles 在啤酒墙上~~\n",
      "18 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "17 bottles 在啤酒墙上~~\n",
      "----------\n",
      "17 bottles 在啤酒墙上~~\n",
      "17 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "16 bottles 在啤酒墙上~~\n",
      "----------\n",
      "16 bottles 在啤酒墙上~~\n",
      "16 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "15 bottles 在啤酒墙上~~\n",
      "----------\n",
      "15 bottles 在啤酒墙上~~\n",
      "15 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "14 bottles 在啤酒墙上~~\n",
      "----------\n",
      "14 bottles 在啤酒墙上~~\n",
      "14 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "13 bottles 在啤酒墙上~~\n",
      "----------\n",
      "13 bottles 在啤酒墙上~~\n",
      "13 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "12 bottles 在啤酒墙上~~\n",
      "----------\n",
      "12 bottles 在啤酒墙上~~\n",
      "12 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "11 bottles 在啤酒墙上~~\n",
      "----------\n",
      "11 bottles 在啤酒墙上~~\n",
      "11 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "10 bottles 在啤酒墙上~~\n",
      "----------\n",
      "10 bottles 在啤酒墙上~~\n",
      "10 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "9 bottles 在啤酒墙上~~\n",
      "----------\n",
      "9 bottles 在啤酒墙上~~\n",
      "9 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "8 bottles 在啤酒墙上~~\n",
      "----------\n",
      "8 bottles 在啤酒墙上~~\n",
      "8 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "7 bottles 在啤酒墙上~~\n",
      "----------\n",
      "7 bottles 在啤酒墙上~~\n",
      "7 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "6 bottles 在啤酒墙上~~\n",
      "----------\n",
      "6 bottles 在啤酒墙上~~\n",
      "6 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "5 bottles 在啤酒墙上~~\n",
      "----------\n",
      "5 bottles 在啤酒墙上~~\n",
      "5 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "4 bottles 在啤酒墙上~~\n",
      "----------\n",
      "4 bottles 在啤酒墙上~~\n",
      "4 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "3 bottles 在啤酒墙上~~\n",
      "----------\n",
      "3 bottles 在啤酒墙上~~\n",
      "3 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "2 bottles 在啤酒墙上~~\n",
      "----------\n",
      "2 bottles 在啤酒墙上~~\n",
      "2 bottles 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "1 bottle 在啤酒墙上~~\n",
      "----------\n",
      "1 bottle 在啤酒墙上~~\n",
      "1 bottle 啤酒~~\n",
      "拿下来一瓶给我吧~~\n",
      "啤酒被拿走一瓶了~~\n",
      "只剩一瓶了，不能给你了，要放在墙上展示\n",
      "----------\n"
     ]
    }
   ],
   "source": [
    "# 练习，课本P44页  涉及知识点：变量，条件判断，for循环\n",
    "beer_name = \"bottles\"\n",
    "\n",
    "for beer_num in range(99,0,-1):\n",
    "    print(beer_num,beer_name,\"在啤酒墙上~~\")\n",
    "    print(beer_num,beer_name,\"啤酒~~\")\n",
    "    print(\"拿下来一瓶给我吧~~\")\n",
    "    print(\"啤酒被拿走一瓶了~~\")\n",
    "    # 情况一：只剩一瓶的情况：\n",
    "    if beer_num == 1:\n",
    "        print(\"只剩一瓶了，不能给你了，要放在墙上展示\")\n",
    "    # 情况二：还有多于1瓶的情况\n",
    "    else:\n",
    "        new_num = beer_num - 1\n",
    "        if new_num ==1 :\n",
    "            beer_name = \"bottle\"\n",
    "        print(new_num,beer_name,\"在啤酒墙上~~\")\n",
    "    print(\"----------\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d2ee6933",
   "metadata": {},
   "source": [
    "## 3. 有序的数据结构（）\n",
    "> 1. 数值\n",
    ">> 1. [数值的运算](https://docs.python.org/3.8/tutorial/introduction.html#numbers)\n",
    "\n",
    "\n",
    "> 2. 字符串\n",
    "\n",
    "\n",
    "> 3. 列表，元组，字典，*集合 （期中考核）P144前"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d31ccd20",
   "metadata": {},
   "source": [
    "## 3. 数值\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4bbcde94",
   "metadata": {},
   "source": [
    "### 3.1 数值的基本运算（Operation）\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "5c0dcaa7",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "7189828b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Operation</th>\n",
       "      <th>Result</th>\n",
       "      <th>Notes</th>\n",
       "      <th>Full documentation</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>x + y</td>\n",
       "      <td>sum of x and y</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>x - y</td>\n",
       "      <td>difference of x and y</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>x * y</td>\n",
       "      <td>product of x and y</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>x / y</td>\n",
       "      <td>quotient of x and y</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>x // y</td>\n",
       "      <td>floored quotient of x and y</td>\n",
       "      <td>(1)</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>x % y</td>\n",
       "      <td>remainder of x / y</td>\n",
       "      <td>(2)</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>-x</td>\n",
       "      <td>x negated</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>+x</td>\n",
       "      <td>x unchanged</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>abs(x)</td>\n",
       "      <td>absolute value or magnitude of x</td>\n",
       "      <td>NaN</td>\n",
       "      <td>abs()</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>int(x)</td>\n",
       "      <td>x converted to integer</td>\n",
       "      <td>(3)(6)</td>\n",
       "      <td>int()</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>float(x)</td>\n",
       "      <td>x converted to floating point</td>\n",
       "      <td>(4)(6)</td>\n",
       "      <td>float()</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>complex(re, im)</td>\n",
       "      <td>a complex number with real part re, imaginary ...</td>\n",
       "      <td>(6)</td>\n",
       "      <td>complex()</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>c.conjugate()</td>\n",
       "      <td>conjugate of the complex number c</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>divmod(x, y)</td>\n",
       "      <td>the pair (x // y, x % y)</td>\n",
       "      <td>(2)</td>\n",
       "      <td>divmod()</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>pow(x, y)</td>\n",
       "      <td>x to the power y</td>\n",
       "      <td>(5)</td>\n",
       "      <td>pow()</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>x ** y</td>\n",
       "      <td>x to the power y</td>\n",
       "      <td>(5)</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          Operation                                             Result  \\\n",
       "0             x + y                                     sum of x and y   \n",
       "1             x - y                              difference of x and y   \n",
       "2             x * y                                 product of x and y   \n",
       "3             x / y                                quotient of x and y   \n",
       "4            x // y                        floored quotient of x and y   \n",
       "5             x % y                                 remainder of x / y   \n",
       "6                -x                                          x negated   \n",
       "7                +x                                        x unchanged   \n",
       "8            abs(x)                   absolute value or magnitude of x   \n",
       "9            int(x)                             x converted to integer   \n",
       "10         float(x)                      x converted to floating point   \n",
       "11  complex(re, im)  a complex number with real part re, imaginary ...   \n",
       "12    c.conjugate()                  conjugate of the complex number c   \n",
       "13     divmod(x, y)                           the pair (x // y, x % y)   \n",
       "14        pow(x, y)                                   x to the power y   \n",
       "15           x ** y                                   x to the power y   \n",
       "\n",
       "     Notes Full documentation  \n",
       "0      NaN                NaN  \n",
       "1      NaN                NaN  \n",
       "2      NaN                NaN  \n",
       "3      NaN                NaN  \n",
       "4      (1)                NaN  \n",
       "5      (2)                NaN  \n",
       "6      NaN                NaN  \n",
       "7      NaN                NaN  \n",
       "8      NaN              abs()  \n",
       "9   (3)(6)              int()  \n",
       "10  (4)(6)            float()  \n",
       "11     (6)          complex()  \n",
       "12     NaN                NaN  \n",
       "13     (2)           divmod()  \n",
       "14     (5)              pow()  \n",
       "15     (5)                NaN  "
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.read_html(\"https://docs.python.org/3.8/library/stdtypes.html#numeric-types-int-float-complex\")[2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "f2d38400",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.0"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "8/2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "c999f884",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.25"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "17/4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "a4e013ec",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "17//4  # 取整数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "71c05059",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "17%5 # 取余数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "3224a3ab",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "25"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "5**2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "b6d1a053",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.23606797749979"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "5**(1/2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "d966cbac",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "2 & 3"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d43781f0",
   "metadata": {},
   "source": [
    "### 3.2 数值的一般方法（Methods）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "03f3f4d3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00'"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(1024).to_bytes(10, byteorder='big')  ## bytes 类型的数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "a89d309b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(2.5).is_integer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "0b88da2f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "2.0.is_integer()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "18fbf372",
   "metadata": {},
   "source": [
    "## 4.字符串\n",
    "\n",
    "* 课后：\n",
    "> 1. 什么是字符串？\n",
    "> 2. 字符串的一般表示形式?\n",
    "> 3. 字符串的运算有哪些？  譬如：+ 是什么意思，取值，切片，索引的概念是什么？ \n",
    "> 4. 字符串的一般方法？ 譬如：count()，in\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b6efdeb2",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
